#pragma once

#include <string>
#include <vector>

class RSA{
public:
    RSA(int p, int q);

    int e() const;
    int n() const;
    int fhi_n() const;
    int d() const;

    std::vector<int> encode(const std::string& message) const;
    std::string decode(const std::vector<int>& message) const;

private:
    int p_;
    int q_;
    int e_;
    int d_;
};